//导出一个配置好的axios提供给main使用
import axios from 'axios'
import auth from '@/utils/auth'
import router from '@/router';
import JSONBINGINT from 'json-bigint'

//基准地址配置
axios.defaults.baseURL = 'http://ttapi.research.itcast.cn/mp/v1_0/'
//请求头token配置
// axios.defaults.headers.Authorization = 'Bearer ${auth.getUser().token}'
// 转化响应格式
axios.defaults.transformResponse = [ data =>{
  try {
    return JSONBINGINT.parse(data)
  } catch (e) {
    return data
  }
}]
// 添加请求拦截器
axios.interceptors.request.use(config => {
    // 获取本地的token，如果有token咱们就追加即可
    const user = auth.getUser()
    if (user.token) config.headers.Authorization = `Bearer ${user.token}`
    return config;
  }, err => {
    // 对请求错误做些什么
    return Promise.reject(err);
  });

// 添加响应拦截器
axios.interceptors.response.use( res => {
    // 对响应数据做点什么
    return res;
  }, err => {
    // 对响应错误做点什么
    if (err.response && err.response.status === 401) {

        router.push('/login')
    }
    return Promise.reject(err);
  });
export default axios